#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 2e5+10;
#define INF 0x3f3f3f3f;
typedef long long int ll;
#define sd(n) scanf("%d",&n) 
#define sld(n) scanf("%lld",&n)
#define pd(n) printf("%d", (n))
#define pld(n) printf("%lld", n)

// //----------------------------------------------------------------------------//
// // ll qmi(ll a, ll b)
// // {
// //     ll res = 1;
// //     while (b)
// //     {
// //         if (b & 1) res = res * a;
// //         a = a * (ll)a;
// //         b >>= 1;
// //     }
// //     return res;
// // }
// int num=0;
// void dfs(int u)
// {
	
// }
// ll ans=0;
// int main()
// {
// 	ll l,r;
// 	sld(l);sld(r);

// 	ll cnt1=0;
// 	while(l)
// 	{
// 		l/=10;
// 		cnt1++;
// 	}


// 	ll cnt2=0;
// 	while(r)
// 	{
// 		r/=10;
// 		cnt2++;
// 	}

// 	//ans=qmi(cnt2-cnt1+1,2)-1;
// 	num=cnt2-cnt1+1;
// 	pld(ans);
// 	puts("");
// 	return 0;
// }


long long a,b;
long long ten[20],f[20];
long long cnta[20],cntb[20];
void solve(long long x,long long *cnt)
{
    long long num[20]={0};
    int len=0;
    while(x)
    {
        num[++len]=x%10;
        x=x/10;
    } 
    for(int i=len;i>=1;i--)
    {
        for(int j=0;j<=9;j++)
        cnt[j]+=f[i-1]*num[i];
        for(int j=0;j<num[i];j++)
        cnt[j]+=ten[i-1];
        long long num2=0;
        for(int j=i-1;j>=1;j--)
        {
            num2=num2*10+num[j];
        }
        cnt[num[i]]+=num2+1;
        cnt[0]-=ten[i-1];
    } 
}
int main()
{
    scanf("%lld %lld",&a,&b);
    ten[0]=1;
    for(int i=1;i<=15;i++)
    {
        f[i]=f[i-1]*10+ten[i-1];
        ten[i]=10*ten[i-1];
    }
    solve(a-1,cnta);
    solve(b,cntb);
    //for(int i=0;i<=9;i++)
    printf("%lld ",cntb[5]-cnta[5]);
}